package com.cssl.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cssl.pojo.BasicNumbers;

import java.util.List;

public interface BasicNumbersService extends IService<BasicNumbers> {
    /**
     * 查询自动生成编号
     *
     * @param enCode 自动生成编号主键
     * @return 自动生成编号
     */
    public BasicNumbers selectBasicNumbersByEnCode(Long enCode);

    /**
     * 查询自动生成编号列表
     *
     * @param basicNumbers 自动生成编号
     * @return 自动生成编号集合
     */
    public List<BasicNumbers> selectBasicNumbersList(BasicNumbers basicNumbers);

    /**
     * 新增自动生成编号
     *
     * @param basicNumbers 自动生成编号
     * @return 结果
     */
    public int insertBasicNumbers(BasicNumbers basicNumbers);

    /**
     * 修改自动生成编号
     *
     * @param basicNumbers 自动生成编号
     * @return 结果
     */
    public int updateBasicNumbers(BasicNumbers basicNumbers);

    /**
     * 批量删除自动生成编号
     *
     * @param enCodes 需要删除的自动生成编号主键集合
     * @return 结果
     */
    public int deleteBasicNumbersByEnCodes(Long[] enCodes);

    /**
     * 删除自动生成编号信息
     *
     * @param enCode 自动生成编号主键
     * @return 结果
     */
    public int deleteBasicNumbersByEnCode(Long enCode);


    /**
     * 自动生成编号
     *
     * @param enCode 主键
     * @return 编号
     */
    public String automaticallyNumbers(Long enCode);

    /**
     * 自动生成编号
     *
     * @param enCode 主键
     * @param preview 是否为预览模式，true=仅预览不消费流水号，false=正常消费流水号
     * @return 编号
     */
    public String automaticallyNumbers(Long enCode, boolean preview);
}
